package cn.iocoder.yudao.module.erp.dal.dataobject.saleorder;

import cn.iocoder.yudao.framework.mybatis.core.dataobject.BaseDO;
import com.baomidou.mybatisplus.annotation.KeySequence;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.*;

import java.math.BigDecimal;
import java.time.LocalDateTime;

/**
 * 销售单和物品的链接表-多对多关系 DO
 *
 * @author maxuxu
 */
@TableName("erp_sale_order_goods")
@KeySequence("erp_sale_order_goods_seq") // 用于 Oracle、PostgreSQL、Kingbase、DB2、H2 数据库的主键自增。如果是 MySQL 等数据库，可不写。
@Data
@EqualsAndHashCode(callSuper = true)
@ToString(callSuper = true)
@Builder
@NoArgsConstructor
@AllArgsConstructor
public class SaleOrderGoodsDO extends BaseDO {

    /**
     * id
     */
    @TableId
    private Long id;
    /**
     * 订单id
     */
    @Schema(description = "订单id")
    private Long orderId;
    /**
     * 物品id
     */
    @Schema(description = "物品id")
    private Long goodsId;
    /**
     * 物品编号
     */
    @Schema(description = "编号")
    private String code;
    /**
     * 物品规格型号
     */
    private String models;
    /**
     * 英文名称
     */
    private String nameEn;
    /**
     * 数量
     */
    private BigDecimal number;
    /**
     * 税率
     */
    private BigDecimal taxRate;
    /**
     * 未税单价
     */
    private BigDecimal noTaxPrice;
    /**
     * 未税总额
     */
    private BigDecimal noTaxTotal;
    /**
     * 税额
     */
    private BigDecimal tax;
    /**
     * 单价
     */
    private BigDecimal price;
    /**
     * 价税总额
     */
    private BigDecimal total;
    /**
     * 单位成本
     */
    private BigDecimal unitCost;
    /**
     * 交付日期
     */
    private LocalDateTime deliveryData;
    /**
     * 出库数量
     */
    private BigDecimal outNum;
    /**
     * 退货数量
     */
    private BigDecimal inNum;
    /**
     * 未出库数量
     */
    private BigDecimal noOutNum;
    /**
     * 计划生产数量
     */
    private BigDecimal planNum;
    /**
     * 排产数量
     */
    private BigDecimal workNum;
    /**
     * 备注
     */
    private String remarks;
    /**
     * 物品名称
     */
    private String name;

}